[INFO] fetching crate rsiot-redis-client 0.0.71...
[INFO] fixing rsiot-redis-client-0.0.71 against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] extracting crate rsiot-redis-client 0.0.71 into /workspace/builds/worker-4-tc2/source
[INFO] started tweaking crates.io crate rsiot-redis-client 0.0.71
[INFO] removed 0 missing examples
[INFO] finished tweaking crates.io crate rsiot-redis-client 0.0.71
[INFO] tweaked toml for crates.io crate rsiot-redis-client 0.0.71 written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate rsiot-redis-client 0.0.71 on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate rsiot-redis-client 0.0.71 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] aed59ee86d303212d6738c97dd634df7e0908423272ae426414b587819de6049
[INFO] running `Command { std: "docker" "start" "aed59ee86d303212d6738c97dd634df7e0908423272ae426414b587819de6049", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "aed59ee86d303212d6738c97dd634df7e0908423272ae426414b587819de6049" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "aed59ee86d303212d6738c97dd634df7e0908423272ae426414b587819de6049", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "aed59ee86d303212d6738c97dd634df7e0908423272ae426414b587819de6049" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Compiling proc-macro2 v1.0.78
[INFO] [stderr]     Checking pin-project-lite v0.2.13
[INFO] [stderr]     Checking futures-sink v0.3.30
[INFO] [stderr]     Checking futures-core v0.3.30
[INFO] [stderr]    Compiling num-traits v0.2.18
[INFO] [stderr]     Checking tracing-core v0.1.32
[INFO] [stderr]    Compiling slab v0.4.9
[INFO] [stderr]     Checking log v0.4.21
[INFO] [stderr]     Checking bytes v1.5.0
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking memchr v2.7.1
[INFO] [stderr]     Checking futures-channel v0.3.30
[INFO] [stderr]     Checking socket2 v0.5.6
[INFO] [stderr]     Checking num_cpus v1.16.0
[INFO] [stderr]     Checking mio v0.8.11
[INFO] [stderr]     Checking futures-task v0.3.30
[INFO] [stderr]     Checking tinyvec_macros v0.1.1
[INFO] [stderr]    Compiling thiserror v1.0.57
[INFO] [stderr]     Checking iana-time-zone v0.1.60
[INFO] [stderr]     Checking futures-io v0.3.30
[INFO] [stderr]     Checking tinyvec v1.6.0
[INFO] [stderr]     Checking getrandom v0.2.12
[INFO] [stderr]    Compiling async-trait v0.1.77
[INFO] [stderr]     Checking unicode-bidi v0.3.15
[INFO] [stderr]     Checking percent-encoding v2.3.1
[INFO] [stderr]    Compiling anyhow v1.0.80
[INFO] [stderr]     Checking regex-syntax v0.6.29
[INFO] [stderr]     Checking regex-syntax v0.8.2
[INFO] [stderr]    Compiling quote v1.0.35
[INFO] [stderr]     Checking unicode-normalization v0.1.23
[INFO] [stderr]    Compiling syn v2.0.52
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]     Checking form_urlencoded v1.2.1
[INFO] [stderr]     Checking http v1.1.0
[INFO] [stderr]     Checking socket2 v0.4.10
[INFO] [stderr]     Checking sha1_smol v1.0.0
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]     Checking idna v0.5.0
[INFO] [stderr]     Checking overload v0.1.1
[INFO] [stderr]     Checking nu-ansi-term v0.46.0
[INFO] [stderr]     Checking sharded-slab v0.1.7
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]     Checking thread_local v1.1.8
[INFO] [stderr]     Checking smallvec v1.13.1
[INFO] [stderr]     Checking regex-automata v0.4.6
[INFO] [stderr]     Checking url v2.5.0
[INFO] [stderr]     Checking regex-automata v0.1.10
[INFO] [stderr]     Checking matchers v0.1.0
[INFO] [stderr]     Checking regex v1.10.3
[INFO] [stderr]    Compiling serde_derive v1.0.197
[INFO] [stderr]    Compiling tracing-attributes v0.1.27
[INFO] [stderr]    Compiling tokio-macros v2.2.0
[INFO] [stderr]    Compiling futures-macro v0.3.30
[INFO] [stderr]    Compiling thiserror-impl v1.0.57
[INFO] [stderr]    Compiling rsiot-macros v0.0.64
[INFO] [stderr]     Checking tokio v1.36.0
[INFO] [stderr]     Checking futures-util v0.3.30
[INFO] [stderr]     Checking tracing v0.1.40
[INFO] [stderr]     Checking serde v1.0.197
[INFO] [stderr]     Checking futures-executor v0.3.30
[INFO] [stderr]     Checking futures v0.3.30
[INFO] [stderr]     Checking tokio-util v0.7.10
[INFO] [stderr]     Checking combine v4.6.6
[INFO] [stderr]     Checking chrono v0.4.35
[INFO] [stderr]     Checking uuid v1.7.0
[INFO] [stderr]     Checking serde_json v1.0.114
[INFO] [stderr]     Checking rsiot-messages-core v0.0.70
[INFO] [stderr]     Checking tracing-subscriber v0.3.18
[INFO] [stderr]     Checking rsiot-component-core v0.0.71
[INFO] [stderr]     Checking rsiot-components-config v0.0.70
[INFO] [stderr]     Checking rsiot-extra-components v0.0.71
[INFO] [stderr]     Checking redis v0.24.0
[INFO] [stderr]     Checking rsiot-redis-client v0.0.71 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/lib.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed src/fn_process.rs (1 fix)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/fn_process.rs:67:25
[INFO] [stdout]     |
[INFO] [stdout]  67 |     while let Ok(msg) = input.recv_input().await {
[INFO] [stdout]     |                  ---    ^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                  |      |                  |
[INFO] [stdout]     |                  |      |                  this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                  |      |                  up until Edition 2021 `#7` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                  |      |                  this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                  |      |                  `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                  |      this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                  |      up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                  |      `__awaitee` calls a custom destructor
[INFO] [stdout]     |                  |      `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                  `msg` calls a custom destructor
[INFO] [stdout]     |                  `msg` will be dropped later as of Edition 2024
[INFO] [stdout]  68 |         let data = (config.fn_input)(&msg).map_err(Error::FnInput)?;
[INFO] [stdout]     |             ----   ------------------------------------------------
[INFO] [stdout]     |             |      |
[INFO] [stdout]     |             |      this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |             |      `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |             `data` calls a custom destructor
[INFO] [stdout]     |             `data` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  73 |         for item in data {
[INFO] [stdout]     |             ----    ----
[INFO] [stdout]     |             |       |
[INFO] [stdout]     |             |       `iter` calls a custom destructor
[INFO] [stdout]     |             |       `iter` will be dropped later as of Edition 2024
[INFO] [stdout]     |             |       this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |             |       `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |             `item` calls a custom destructor
[INFO] [stdout]     |             `item` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  77 |             connection.hset::<_, _, _, ()>(&channel, key, &value).await?;
[INFO] [stdout]     |             -----------------------------------------------------------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |             `#4` will be dropped later as of Edition 2024
[INFO] [stdout]  78 |             connection.publish::<_, _, ()>(&channel, &value).await?;
[INFO] [stdout]     |             ------------------------------------------------------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |             `#5` will be dropped later as of Edition 2024
[INFO] [stdout]  79 |         }
[INFO] [stdout]  80 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.80/src/error.rs:600:1
[INFO] [stdout]     |
[INFO] [stdout] 600 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/fn_process.rs:50:27
[INFO] [stdout]     |
[INFO] [stdout]  50 |     while let Some(res) = set.join_next().await {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                           |               |
[INFO] [stdout]     |                           |               this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                           |               up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                           |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                           |               `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                           up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                           `__awaitee` calls a custom destructor
[INFO] [stdout]     |                           `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]  51 |         res??;
[INFO] [stdout]     |         -----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |         `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |         `#3` will be dropped later as of Edition 2024
[INFO] [stdout]  52 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.80/src/error.rs:600:1
[INFO] [stdout]     |
[INFO] [stdout] 600 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.80/src/error.rs:600:1
[INFO] [stdout]     |
[INFO] [stdout] 600 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.80/src/error.rs:600:1
[INFO] [stdout]     |
[INFO] [stdout] 600 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.80/src/error.rs:600:1
[INFO] [stdout]     |
[INFO] [stdout] 600 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/fn_process.rs:67:25
[INFO] [stdout]     |
[INFO] [stdout]  67 |     while let Ok(msg) = input.recv_input().await {
[INFO] [stdout]     |                  ---    ^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                  |      |                  |
[INFO] [stdout]     |                  |      |                  this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                  |      |                  up until Edition 2021 `#7` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                  |      |                  this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                  |      |                  `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                  |      this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                  |      up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                  |      `__awaitee` calls a custom destructor
[INFO] [stdout]     |                  |      `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     |                  `msg` calls a custom destructor
[INFO] [stdout]     |                  `msg` will be dropped later as of Edition 2024
[INFO] [stdout]  68 |         let data = (config.fn_input)(&msg).map_err(Error::FnInput)?;
[INFO] [stdout]     |             ----   ------------------------------------------------
[INFO] [stdout]     |             |      |
[INFO] [stdout]     |             |      this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |             |      `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |             `data` calls a custom destructor
[INFO] [stdout]     |             `data` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  73 |         for item in data {
[INFO] [stdout]     |             ----    ----
[INFO] [stdout]     |             |       |
[INFO] [stdout]     |             |       `iter` calls a custom destructor
[INFO] [stdout]     |             |       `iter` will be dropped later as of Edition 2024
[INFO] [stdout]     |             |       this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |             |       `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |             `item` calls a custom destructor
[INFO] [stdout]     |             `item` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  77 |             connection.hset::<_, _, _, ()>(&channel, key, &value).await?;
[INFO] [stdout]     |             -----------------------------------------------------------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |             `#4` will be dropped later as of Edition 2024
[INFO] [stdout]  78 |             connection.publish::<_, _, ()>(&channel, &value).await?;
[INFO] [stdout]     |             ------------------------------------------------------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |             `#5` will be dropped later as of Edition 2024
[INFO] [stdout]  79 |         }
[INFO] [stdout]  80 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.80/src/error.rs:600:1
[INFO] [stdout]     |
[INFO] [stdout] 600 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/fn_process.rs:50:27
[INFO] [stdout]     |
[INFO] [stdout]  50 |     while let Some(res) = set.join_next().await {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                           |               |
[INFO] [stdout]     |                           |               this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                           |               up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                           |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                           |               `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                           up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                           `__awaitee` calls a custom destructor
[INFO] [stdout]     |                           `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]  51 |         res??;
[INFO] [stdout]     |         -----
[INFO] [stdout]     |         |
[INFO] [stdout]     |         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |         `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |         `#3` will be dropped later as of Edition 2024
[INFO] [stdout]  52 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.80/src/error.rs:600:1
[INFO] [stdout]     |
[INFO] [stdout] 600 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.80/src/error.rs:600:1
[INFO] [stdout]     |
[INFO] [stdout] 600 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.80/src/error.rs:600:1
[INFO] [stdout]     |
[INFO] [stdout] 600 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.80/src/error.rs:600:1
[INFO] [stdout]     |
[INFO] [stdout] 600 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating examples/publication.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/subscription.rs from 2021 edition to 2024
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 52.34s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: redis v0.24.0
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
[INFO] [stderr] crater-edition-check: rsiot-redis-client v0.0.71 (/opt/rustwide/workdir) updating edition from 2021 to 2024
[INFO] [stderr]     Checking rsiot-redis-client v0.0.71 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 53.45s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: redis v0.24.0
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
[INFO] [stderr] crater-edition-check all packages now at latest edition
[INFO] [stderr] crater-edition-check: all finished
[INFO] running `Command { std: "docker" "inspect" "aed59ee86d303212d6738c97dd634df7e0908423272ae426414b587819de6049", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "aed59ee86d303212d6738c97dd634df7e0908423272ae426414b587819de6049", kill_on_drop: false }`
[INFO] [stdout] aed59ee86d303212d6738c97dd634df7e0908423272ae426414b587819de6049
